Explicitly qualify more identifiers in Bus.bs #20

Open
opened 2025-04-20 23:26:48 +00:00 by Yehowshua · 1 comment
Owner
No description provided.
Author
Owner

Need to ask on mailing list how to do this... compiler doesn't like my first attempt:

[nix-shell:~/git/riscv-bluespec-classic]$ bsv2bsc bsv/CBindings.bsv 
package CBindings(initTerminal,
                  restoreTerminal,
                  getCharFromTerminal,
                  isCharAvailable,
                  writeCharToTerminal,
                  setupSigintHandler,
                  wasCtrlCReceived) where {
{-# properties init_terminal = { foreignImport init_terminal } #-};
                                                                  
init_terminal :: Prelude.Action;
init_terminal =  ForeignFuncC init_terminal;;
                                            
{-# properties restore_terminal = { foreignImport restore_terminal } #-};
                                                                        
restore_terminal :: Prelude.Action;
restore_terminal =  ForeignFuncC restore_terminal;;
                                                  
{-# properties get_char_from_terminal = { foreignImport get_char_from_terminal } #-};
                                                                                    
get_char_from_terminal :: Bit 8;
get_char_from_terminal =  ForeignFuncC get_char_from_terminal;;
                                                              
{-# properties is_char_available = { foreignImport is_char_available } #-};
                                                                          
is_char_available :: Int 32;
is_char_available =  ForeignFuncC is_char_available;;
                                                    
{-# properties write_char_to_terminal = { foreignImport write_char_to_terminal } #-};
                                                                                    
write_char_to_terminal :: Bit 8 -> Prelude.Action;
write_char_to_terminal =  ForeignFuncC write_char_to_terminal;;
                                                              
{-# properties setup_sigint_handler = { foreignImport setup_sigint_handler } #-};
                                                                                
setup_sigint_handler :: Prelude.Action;
setup_sigint_handler =  ForeignFuncC setup_sigint_handler;;
                                                          
{-# properties was_ctrl_c_received = { foreignImport was_ctrl_c_received } #-};
                                                                              
was_ctrl_c_received :: Bool;
was_ctrl_c_received =  ForeignFuncC was_ctrl_c_received;;
                                                        
initTerminal :: Prelude.Action;
initTerminal =  init_terminal;;
                              
restoreTerminal :: Prelude.Action;
restoreTerminal =  restore_terminal;;
                                    
getCharFromTerminal :: Bit 8;
getCharFromTerminal =  get_char_from_terminal;;
                                              
isCharAvailable :: Int 32;
isCharAvailable =  is_char_available;;
                                     
writeCharToTerminal :: Bit 8 -> Prelude.Action;
writeCharToTerminal chr =  write_char_to_terminal chr;;
                                                      
setupSigintHandler :: Prelude.Action;
setupSigintHandler =  setup_sigint_handler;;
                                           
wasCtrlCReceived :: Bool;
wasCtrlCReceived =  was_ctrl_c_received;
}
Need to ask on mailing list how to do this... compiler doesn't like my first attempt: ```bash [nix-shell:~/git/riscv-bluespec-classic]$ bsv2bsc bsv/CBindings.bsv package CBindings(initTerminal, restoreTerminal, getCharFromTerminal, isCharAvailable, writeCharToTerminal, setupSigintHandler, wasCtrlCReceived) where { {-# properties init_terminal = { foreignImport init_terminal } #-}; init_terminal :: Prelude.Action; init_terminal = ForeignFuncC init_terminal;; {-# properties restore_terminal = { foreignImport restore_terminal } #-}; restore_terminal :: Prelude.Action; restore_terminal = ForeignFuncC restore_terminal;; {-# properties get_char_from_terminal = { foreignImport get_char_from_terminal } #-}; get_char_from_terminal :: Bit 8; get_char_from_terminal = ForeignFuncC get_char_from_terminal;; {-# properties is_char_available = { foreignImport is_char_available } #-}; is_char_available :: Int 32; is_char_available = ForeignFuncC is_char_available;; {-# properties write_char_to_terminal = { foreignImport write_char_to_terminal } #-}; write_char_to_terminal :: Bit 8 -> Prelude.Action; write_char_to_terminal = ForeignFuncC write_char_to_terminal;; {-# properties setup_sigint_handler = { foreignImport setup_sigint_handler } #-}; setup_sigint_handler :: Prelude.Action; setup_sigint_handler = ForeignFuncC setup_sigint_handler;; {-# properties was_ctrl_c_received = { foreignImport was_ctrl_c_received } #-}; was_ctrl_c_received :: Bool; was_ctrl_c_received = ForeignFuncC was_ctrl_c_received;; initTerminal :: Prelude.Action; initTerminal = init_terminal;; restoreTerminal :: Prelude.Action; restoreTerminal = restore_terminal;; getCharFromTerminal :: Bit 8; getCharFromTerminal = get_char_from_terminal;; isCharAvailable :: Int 32; isCharAvailable = is_char_available;; writeCharToTerminal :: Bit 8 -> Prelude.Action; writeCharToTerminal chr = write_char_to_terminal chr;; setupSigintHandler :: Prelude.Action; setupSigintHandler = setup_sigint_handler;; wasCtrlCReceived :: Bool; wasCtrlCReceived = was_ctrl_c_received; } ```
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: ReferenceProjects/riscv-bluespec-classic#20
No description provided.